Business processes involve several data related to an entity or a business object. A status of a data may change while executing the business processes. The status change may correspond to a modification of content or a value of the data. For example, the value of an address of a customer business object may change or be modified. The modification of the data may correspond to an event or incident. It may be required to execute an action based upon the event. Typically, in response to the event, a specific reaction is executed. Usually, an event handler executes such reaction corresponding to the event.
The event handler is required to be aware of the business processes in detail in order to handle the event and/or to execute a specific reaction corresponding to the events. For example, the event handler may be required to know about a software module (e.g., software code) responsible for triggering the event. Further, the event handler may also be required to know which implementation deals with which event. Therefore, the coding triggering the event and its corresponding reaction code is hardcoded in the event handler. Typically, there is a strict coupling between the event and the event handler.
However, it may be a waste of resource, time, and effort to link all possible incidents and their corresponding reaction codes. Further, if there is more than one software module triggering the same incident, an event handler is required to be hardcoded exactly about the incident triggered by a particular software module. Also, the event handler is not flexible and robust to adapt to changes. For example, if a new process is included, the details of the new process will need to be explicitly hardcoded in the event handler. Also, if there is any change in an existing process, the code of the event handler is required to be updated accordingly.